package cn.wolfcode.trip.base.mapper;

import cn.wolfcode.trip.base.domain.Message;
import cn.wolfcode.trip.base.query.LettersQueryObject;
import cn.wolfcode.trip.base.query.MessageQueryObject;
import java.util.List;
import java.util.Map;

public interface MessageMapper {
    int deleteByPrimaryKey(Long id);

    int insert(Message record);

    Message selectByPrimaryKey(Long id);

    List<Message> selectAll();

    int updateByPrimaryKey(Message record);

    void changeState(MessageQueryObject qo);

    int countForType(MessageQueryObject qo);

    List<Message> queryForUread(MessageQueryObject qo);

    List<Map> countForMsg(MessageQueryObject qo);

    List<Message> queryForLetters(LettersQueryObject qo);

    int selectUnReadCountForLetter(LettersQueryObject qo);

    List<Map> selectLetterList(LettersQueryObject qo);

    void changeMagState(MessageQueryObject qo);
}